_tttt_iiii_rrrr_dddd_wwww_rrrr - Transport Interface read/write interface STREAMS module
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
_tttt_iiii_rrrr_dddd_wwww_rrrr is a STREAMS module that provides an alternate interface to a
transport provider which supports the Transport Interface (TI) functions
of the Network Services library (see Section 3N). This alternate
interface allows a user to communicate with the transport protocol
provider using the _rrrr_eeee_aaaa_dddd(2) and _wwww_rrrr_iiii_tttt_eeee(2) system calls. The _pppp_uuuu_tttt_mmmm_ssss_gggg(2) and
_gggg_eeee_tttt_mmmm_ssss_gggg(2) system calls may also be used. However, _pppp_uuuu_tttt_mmmm_ssss_gggg and _gggg_eeee_tttt_mmmm_ssss_gggg can
only transfer data messages between user and stream.
The _tttt_iiii_rrrr_dddd_wwww_rrrr module must only be pushed [see _IIII______PPPP_UUUU_SSSS_HHHH in _ssss_tttt_rrrr_eeee_aaaa_mmmm_iiii_oooo(7)] onto a
stream terminated by a transport protocol provider which supports the TI.
After the _tttt_iiii_rrrr_dddd_wwww_rrrr module has been pushed onto a stream, none of the
Transport Interface functions can be used. Subsequent calls to TI
functions will cause an error on the stream. Once the error is detected,
subsequent system calls on the stream will return an error with _eeee_rrrr_rrrr_nnnn_oooo set
to _EEEE_PPPP_RRRR_OOOO_TTTT_OOOO.
The following are the actions taken by the _tttt_iiii_rrrr_dddd_wwww_rrrr module when pushed on
the stream, popped [see _IIII______PPPP_OOOO_PPPP in _ssss_tttt_rrrr_eeee_aaaa_mmmm_iiii_oooo(7)] off the stream, or when
data passes through it.
_p_u_s_h When the module is pushed onto a stream, it will check any
existing data destined for the user to ensure that only regular
data messages are present. It will ignore any messages on the
stream that relate to process management, such as messages that
generate signals to the user processes associated with the
stream. If any other messages are present, the _IIII______PPPP_UUUU_SSSS_HHHH will
return an error with _eeee_rrrr_rrrr_nnnn_oooo set to _EEEE_PPPP_RRRR_OOOO_TTTT_OOOO.
_wwww_rrrr_iiii_tttt_eeee The module will take the following actions on data that
originated from a _wwww_rrrr_iiii_tttt_eeee system call:
- All messages with the exception of messages that contain
control portions (see the _pppp_uuuu_tttt_mmmm_ssss_gggg and _gggg_eeee_tttt_mmmm_ssss_gggg system calls)
will be transparently passed onto the module's downstream
neighbor.
- Any zero length data messages will be freed by the module
and they will not be passed onto the module's downstream
neighbor.
- Any messages with control portions will generate an error,
and any further system calls associated with the stream will
fail with _eeee_rrrr_rrrr_nnnn_oooo set to _EEEE_PPPP_RRRR_OOOO_TTTT_OOOO.
_rrrr_eeee_aaaa_dddd The module will take the following actions on data that